package model

import "RoccBlog/global"

// BusinessTrip 出差
type BusinessTrip struct {

	// Id id
	Id int `json:"id" gorm:"primaryKey;autoIncrement"`

	// Name 出差名称
	Name string `json:"name" gorm:"type:varchar(60);comment:出差名称"`

	// Addr 出差地点
	Addr string `json:"addr" gorm:"type:varchar(60);comment:出差地点"`

	// StartTime 开始时间
	StartTime *LocalTime `json:"startTime" gorm:"type:datetime;comment:开始时间"`

	// EndTime 结束时间
	EndTime *LocalTime `json:"endTime" gorm:"type:datetime;comment:结束时间"`

	// Remark 备注
	Remark string `json:"remark" gorm:"type:text;comment:备注"`

	CreateBy int `json:"createBy" gorm:"type:int;comment:创建人"`

	BusinessTripExpenses []BusinessTripExpense
}

// BusinessTripExpense 出差费用明细
type BusinessTripExpense struct {

	// Id id
	Id int `json:"id" gorm:"primaryKey;autoIncrement"`

	// Amount 费用
	Amount float64 `json:"amount" gorm:"type:double(8,2);comment:费用"`

	// Snapshoot 快照
	Snapshoot string `json:"snapshoot" gorm:"type:varchar(120);comment:快照"`

	// ExpenseType 类型
	ExpenseType int `json:"expenseType" gorm:"type:int;comment:类型"`

	// BusinessTripID 出差ID
	BusinessTripID int `json:"businessTripID" gorm:"type:int;comment:出差ID"`

	// CreateBy 创建人
	CreateBy int `json:"createBy" gorm:"type:int;comment:创建人"`
}

// 注册到gorm中
func init() {
	global.RegisterModel(&BusinessTrip{})
	global.RegisterModel(&BusinessTripExpense{})
}
